package com.wlyuan.open.scanner.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author yuanjie
 * @since 2022-11-28
 */
@Data
@TableName("Balance_CheckDetails")
@ApiModel(value = "BalanceCheckdetailsDO对象", description = "")
public class BalanceCheckDetailsDO implements Serializable {


    private static final long serialVersionUID = 2122849956713669740L;
    @ApiModelProperty("账单收/付款记录ID")
    @TableId(value = "Check_DetailID", type = IdType.AUTO)
    private Long checkDetailid;

    @ApiModelProperty("所属账单ID")
    private Long checkDetailownerid;

    @ApiModelProperty("订单号ID")
    private Long checkDetailorderid;

    @ApiModelProperty("收/付款类型：1预付款 2货到付款 3代收货款 4回执付款")
    private Integer checkDetailsertype;

    @ApiModelProperty("账单编号")
    private String checkDetailserno;

    @ApiModelProperty("经办人")
    private String checkDetailbilloperator;

    @ApiModelProperty("金额")
    private Double checkDetailbillcost;

    @ApiModelProperty("时间")
    private LocalDateTime checkDetailbilltime;

    @ApiModelProperty("收/付款方式：1现金 2转账 3支票 4油卡")
    private Integer checkDetailpaytype;

    @ApiModelProperty("银行卡账号")
    private String checkDetailbankno;

    @ApiModelProperty("创建人")
    private Long checkDetailcreator;

    @ApiModelProperty("公司ID")
    private Long checkDetailcompanyid;

    @ApiModelProperty("是否失效 0有效 1失效（禁止在程序中将该数据置为1）")
    private Integer checkDetailinvalid;

    @ApiModelProperty("摘要")
    private String checkDetailcomments;


    @ApiModelProperty("所属合单id")
    @TableField(exist = false)
    private Long ownerCombinedOrderId;
    @ApiModelProperty("运单/对账单编号")
    @TableField(exist = false)
    private String no;

    @ApiModelProperty("对账单状态")
    @TableField(exist = false)
    private Integer billStatus;
    @ApiModelProperty("财务运单状态")
    @TableField(exist = false)
    private Integer financeStatus;


    @TableField(exist = false)
    @ApiModelProperty("承运商名称")
    private String carrierName;
    @TableField(exist = false)
    @ApiModelProperty("承运商电话")
    private String carrierPhone;
    @TableField(exist = false)
    @ApiModelProperty("承运商联系人")
    private String carrierContactName;
    @TableField(exist = false)
    @ApiModelProperty("承运商id")
    private Long carrierId;
    @TableField(exist = false)
    @ApiModelProperty("承运商类型")
    private Integer carrierType;
    @TableField(exist = false)
    @ApiModelProperty("承运商租户")
    private Long upTenantId;

    @ApiModelProperty("发货方名称")
    @TableField(exist = false)
    private String customerName;
    @ApiModelProperty("发货方id")
    @TableField(exist = false)
    private Long customerId;
    @ApiModelProperty("发货方类型")
    @TableField(exist = false)
    private Integer customerType;
    @ApiModelProperty("发货方租户")
    @TableField(exist = false)
    private Long downTenantId;

    @ApiModelProperty("合同编号")
    @TableField(exist = false)
    private String pactCode;
    @ApiModelProperty("客户来源订单id")
    @TableField(exist = false)
    private Long srcOrderId;
    @ApiModelProperty("线下承运商编号")
    @TableField(exist = false)
    private Long supplierSymbolId;
    @ApiModelProperty("司机编号")
    @TableField(exist = false)
    private Long driverId;
    @ApiModelProperty("承运商id")
    @TableField(exist = false)
    private Long supplierId;
    @ApiModelProperty("回执付款用到的账单id")
    @TableField(exist = false)
    private Long recId;
    @ApiModelProperty("收付款名称")
    @TableField(exist = false)
    private String bcName;

    @ApiModelProperty("运单/对账单创建人所属")
    @TableField(exist = false)
    private Long createCompanyId;

    @TableField(exist = false)
    private Long payId;

    @ApiModelProperty("echo")
    @TableField(exist = false)
    private String echo;

}
